package com.fdb.efp.nls.service.facade;

import com.fdb.efp.nls.service.vo.SRoleVO;

import java.util.List;

/**
 * <p>Description:系统角色表				<p>
 * @author chenqm1
 * @date 2018-05-03
 */
public interface SRoleService {
	
	public List<SRoleVO> queryAllOwner(SRoleVO sRoleVo);
	
	public List<SRoleVO> queryAllCurrOrg(SRoleVO sRoleVo);
	
	public List<SRoleVO> queryAllCurrDownOrg(SRoleVO sRoleVo);
	
	public int insertSRole(SRoleVO vo);
	
	public int deleteByPk(SRoleVO sRoleVo);
	
	public int updateByPk(SRoleVO sRoleVo);
	
	public SRoleVO queryByPk(SRoleVO sRoleVo);
	/**
	 * 查询生效的当前登录用户所属机构及下属机构的所有角色数据,不分页
	 * @param sRoleVo
	 * @return
	 */
	public List<SRoleVO> queryRoleAll(SRoleVO sRoleVo);
	/**
	 * 查询角色关联用户的数量
	 * @param sRoleVo
	 * @return
	 */
	public int queryRoleBindUserTotal(SRoleVO inSRoleVo);
	/**
	 * 角色选择器返回当前登录法人机构的所有生效角色且分页
	 * @param inSRoleVo
	 * @return
	 */
	public List<SRoleVO> queryRoleByLcAndStByPage(SRoleVO inSRoleVo);
	/**
	 * 查询当前登录法人机构的所有角色
	 * @param inSRoleVo
	 * @return
	 */
	public List<SRoleVO> queryRoleAllByLoginLeage(SRoleVO inSRoleVo);

	/**
	 * 角色下用户列表数据查询
	 * 
	 * @param inSRoleVo
	 * @return
	 */
	public List<SRoleVO> queryRoleUserAll(SRoleVO inSRoleVo);
	
	/**
	  * 不分页的数据权限控制查询
	  * @param sRoleVo
	  * @return
	  * @author qiuyf
	  * @since 2019年2月14日 下午7:51:05
	  * @version 1.0
	 */
	public List<SRoleVO> queryAllOwnerNotPage(SRoleVO sRoleVo);
	
	public List<SRoleVO> queryAllCurrOrgNotPage(SRoleVO sRoleVo);
	
	public List<SRoleVO> queryAllCurrDownOrgNotPage(SRoleVO sRoleVo);

	public List<SRoleVO> queryAllByOrgs(SRoleVO sRoleVO);

	public List<SRoleVO> queryAllByCoditions(SRoleVO sRoleVO);

	public List<SRoleVO> queryAllValidRole(SRoleVO sRoleVO);

	public List<SRoleVO> queryRoleAllNotR0000(SRoleVO sRoleVo);

}
